/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package CRUD;

import Beans.BeanCidade;
import Conexao.ConexaoBanco;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Marcos
 */
public class CRUDCidade {
    
    public Connection conexao;

    public CRUDCidade() throws SQLException {
        this.conexao = ConexaoBanco.getConexao();
    }
    
    public void adiciona(BeanCidade BC) throws SQLException {
        String sql = "insert into cidade(den_cidade, estado)" + "values(?,?)";
        PreparedStatement stmt = conexao.prepareStatement(sql);
        //stmt.setInt(1, BC.getCod_cidade());
        stmt.setString(1, BC.getDen_cidade());
        stmt.setString(2, BC.getEstado());              
        stmt.execute();
        stmt.close();
    }
    
    public void altera(BeanCidade BC) throws SQLException {
        String sql = "update cidade set den_cidade = ?, estado = ? "
                + " WHERE cod_cidade = ? ";
        PreparedStatement stmt = conexao.prepareStatement(sql);
        stmt.setString(1, BC.getDen_cidade());        
        stmt.setString(2, BC.getEstado());        
        stmt.setInt(3, BC.getCod_cidade());     
        stmt.execute();
        stmt.close();
    }
    
    public void remove(BeanCidade BC) throws SQLException {
        String sql = "delete from cidade where cod_cidade = ? ";
        PreparedStatement stmt = conexao.prepareStatement(sql);
        stmt.setInt(1, BC.getCod_cidade());
        stmt.execute();
        stmt.close();
    } 
    
    public List<BeanCidade> getListaCidade(String den_cidade) throws SQLException {
        String sql = "select * from cidade where den_cidade like ?";       

        PreparedStatement stmt = this.conexao.prepareStatement(sql);
        stmt.setString(1, den_cidade);
        //stmt.setString(2, nome);
        ResultSet rs = stmt.executeQuery();
        List<BeanCidade> ListaCidade = new ArrayList<BeanCidade>();
        while (rs.next()) {
            BeanCidade BC = new BeanCidade();
            BC.setCod_cidade(rs.getInt("cod_cidade"));
            BC.setDen_cidade(rs.getString("den_cidade"));            
            BC.setEstado(rs.getString("estado"));            
            ListaCidade.add(BC);
        }
        rs.close();
        stmt.close();
        return ListaCidade;
    }     
}